/*
编写 : Hexh
时间 : 2012-5-25 17:19:10
*/
using System;
using System.Collections.Generic;
using FsCarInfo.Core.Entity;
using FsCarInfo.Core.Entity.IRespositories;
using HMIS.FrameWork;
using HMIS.FrameWork.DomainBase;

namespace FsCarInfo.Facade.Impl
{
	/// <summary>
	///	 the impl of IFsIntlVehicleApplFacade
	/// </summary>
	public class FsIntlVehicleApplFacadeImpl : IFsIntlVehicleApplFacade
	{

		private readonly IFsIntlVehicleApplRepository FsIntlVehicleApplRepository;

		public FsIntlVehicleApplFacadeImpl(IFsIntlVehicleApplRepository FsIntlVehicleApplRepository)
        {
			this.FsIntlVehicleApplRepository = FsIntlVehicleApplRepository;
        }

        #region IFsIntlVehicleAppl Entity Save,Get,Update,Delete

		public FsIntlVehicleAppl Get(string id)
		{
			return FsIntlVehicleApplRepository.Get(id);
		}

		public FsIntlVehicleAppl Load(string id)
		{
			return FsIntlVehicleApplRepository.Load(id);
		}

		public void SaveOrUpdate(FsIntlVehicleAppl entity)
		{
			this.FsIntlVehicleApplRepository.SaveOrUpdate(entity);
		}

		public void Delete(string id)
		{
			FsIntlVehicleApplRepository.Delete(id);
		}
		
		public void PhysicsDelete(string id)
		{
			FsIntlVehicleApplRepository.PhysicsDelete(id);
		}

		public bool IsFieldExist(string fieldName, string fieldValue, string id)
		{
			return FsIntlVehicleApplRepository.IsFieldExist(fieldName, fieldValue, id);
		}
		
		public bool IsFieldExistWhere(string fieldName, string fieldValue, string id, string where)
		{
			return FsIntlVehicleApplRepository.IsFieldExistWhere(fieldName, fieldValue, id, where);
		}
		
		#endregion
		
		#region Query 

		public IList<FsIntlVehicleAppl> GetAll()
		{
			return FsIntlVehicleApplRepository.GetAll();
		}

		public IList<FsIntlVehicleAppl> GetPlist(string query, string state, int start, int limit, string sort, string dir, List<DataFilter> filters, out long total)
        {
			return FsIntlVehicleApplRepository.GetPlist(query, state, start, limit, sort, dir, filters, out total);
        }

		public IList<FsIntlVehicleAppl> GetOverTimePlist()
		{
			return FsIntlVehicleApplRepository.GetOverTimePlist();
		}

		public void SendOverTimeSms()
		{
			FsIntlVehicleApplRepository.SendOverTimeSms();
		}
		
		#endregion
	}
}
